
=================================   DESCRIPTION   ===================================

Linux Fingerprint Reader Driver for Sony Vaio VGN-UX Series.
	0483:2016
	STMicroelectronics Fingerprint Reader
	STMicroelectronics Biometric Coprocessor

The name of the project "upekux" comes from "upek" - the manufacturer of the fingerprint 
scanner and "ux" - part of the UMPC model name in which this scanner is installed. 
The driver is a daemon that runs in user space. The development of this driver was 
carried out by reverse engineering using Wireshark to intercept traffic on the USB bus.

Key features:
	> User authorization with a fingerprint
	> Work as an input device (as a touchpad)
	> Run the program as a user when a finger is detected

The driver uses libusb[1] to connect to the device and nbis[2] to compare fingerprints.

[1] https://libusb.info
[2] https://www.nist.gov/services-resources/software/nist-biometric-image-software-nbis


=======================   DEPENDENCIES, BUILD AND INSTALL   =========================

The "libusb" package is required to build and run. "make" and "gcc" is used to build. 
You may also need the "libusb-devel" package to build.

Build:

	> Go to project root directory
	> Type "make"

Install:

	> Copy "upekux" and "upekuxd" to the appropriate directory ( e.g. /bin or /usr/bin )
	> Create "/var/db/upekux" directory (used as fingerprint storage)
	> Set up autoloading of the "uinput" module 
	> Set up "upekuxd" to start automatically as root using the init system.

=====================================   USAGE   =====================================

"upekux" is used to interact with the daemon and control modes of operation. To get 
started and get help, run "upekux" with no options. User commands can be executed by 
any user in the system. Admin commands can only be performed by root.
